/**
 * filters 公共文件
 * @author 普德施 pds.inc
 */

/**
 * 首字母转大写
 * @param {*} string 字符串
 * @returns 字符串
 */
export function uppercaseFirst(string) {
  return string.charAt(0).toUpperCase() + string.slice(1)
}

/**
 * 数字/价钱格式化
 * @param {Number} number 数字 / 价钱
 * @param {String} local 区域
 * @param {Object} options 配置项（只在价钱处理时有效）
 * {
 *  style: 'currency',
 *  currency: 'EUR', // 货币符号
 *  minimumFractionDigits: 2, // 小数点最小几位
 *  maximumFractionDigits: 2  // 小数点最大几位
 * }
 * @returns number
 */
export function formatNum(number, local = 'us', options = {}) {
  const site = {
    'in': 'en-IN',
    'id': 'id-ID',
    'us': 'en-US',
    'uk': 'en-GB',
    'es': 'es-ES',
    'fr': 'fr-FR',
    'it': 'it-IT',
    'ru': 'ru-RU',
    'hk': 'zh-HK',
    'tw': 'zh-TW'
  }

  return (+number || 0).toLocaleString(site[local], options)
}

/**
 * 数字转千分位
 * @param {*} number 数字
 * @returns format number 千分位的数字
 */
export function toThousandFilter(number) {
  return (+number || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
}
